const nl2br = (str: string) => {
    return str.trim().replace(/\n/g, '<br/>');
}

const nlTobr = (str: string) => {
    return str.trim().replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1' + '<br>' + '$2')
}


const timestampToDateTime = (timestamp: number) => {
    timestamp = timestamp.toString().length == 10 ? timestamp * 1000 : timestamp
    let date = new Date(timestamp);
    let Y = date.getFullYear() + '-';
    let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
    let D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' ';
    let h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
    let m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';
    let s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
    return Y + M + D + h + m + s;
}


const dateTimeToTimestamp = (dateTime: string, secondFlag: boolean) => {
    let date = new Date(dateTime);
    if (secondFlag) {
        return Date.parse(date.toString()) / 1000
    }
    return date.getTime();
}

export {
    nl2br,
    nlTobr,
    timestampToDateTime,
    dateTimeToTimestamp
}